package org.jsola.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.jsola.hr.entity.PersonalEventDO;
import org.jsola.hr.vo.PersonalEventListVO;
import org.jsola.orm.mapper.IJsolaMapper;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * 人事变动表
 *
 * @author ds
 */
@Repository("hrPersonalEventDAO")
public interface IPersonalEventDAO extends IJsolaMapper<PersonalEventDO> {
    /**
     * @return java.util.List<java.lang.String>
     * @Author
     * @Description 查询有事件的每一天
     * @Date 10:16 2020-10-13
     * @Param [empId 员工id, year 年]
     **/
    List<String> getEventTimeList(@Param("empId") String empId, @Param("year") String year);

    /**
     * 查询用户的人事变动
     *
     * @param userId 员工Id
     * @param year   年
     * @return 员工的人事变动
     */
    List<String> getEventTimeListByUserIdAndYear(@Param("userId") String userId, @Param("year") String year);

    /**
     * @return java.util.List<java.lang.String>
     * @Author
     * @Description 以年为单位查询有事件的事件
     * @Date 10:16 2020-10-13
     * @Param [empId 员工id]
     **/
    List<String> getEventTimeListByYear(String empId);

    /**
     * 查询用户的人事变动
     *
     * @param userId 员工Id
     * @return 员工的人事变动
     */
    List<String> getEventTimeListByUserId(String userId);

    /**
     * @return java.util.List<PersonalEventListVO>
     * @Author
     * @Description 查询每天的事件
     * @Date 10:16 2020-10-13
     * @Param [empId 员工id, eventTime 时间]
     **/
    List<PersonalEventListVO> getEventListByEventTime(@Param("eventTime") String eventTime, @Param("empId") String empId);

    /**
     * 查询用户的人事变动
     *
     * @param eventTime 查询时间
     * @param userId    员工Id
     * @return 员工的人事变动
     */
    List<PersonalEventListVO> getEventListByUserId(@Param("eventTime") String eventTime, @Param("userId") String userId);
}

